class Foo(object):

    def __init__(self):
        self.name = "boo"

    def __getitem__(self, item):
        print("调用__getitem__了", item)
        if item in self.__dict__:
            return self.__dict__[item]

    def __setitem__(self, key, value):
        print("调用__setitem__方法了", key, value)
        self.__dict__[key] = value

    def __delitem__(self, key):
        print("调用__delitem__", key)
        del self.__dict__[key]


foo = Foo()
ret = foo["name"]
# print(ret)     # 输出     调用__getitem__了      boo
foo["age"] = 18
# print(foo["age"])   # 输出   调用__setitem__方法了   调用__getitem__了    18
del foo["age"]  # 输出  调用__delitem__

"""
在类中实现了 __getitem__ 方法可以使用对象[属性] 拿到对应的值，
在类中实现了 __setitem__ 方法可以直接对象[属性] 添加值
在类中实现了 __delitem__ 方法  foo["age"]
"""